Secure Execution of Student Code

نویسنده

  • Ryan W Sims
چکیده

To grade projects in a large computer science course requires verifying the correctness of a great many student programs, all against identical inputs and outputs. This situation is an obvious candidate for automation, and calls for a system to which students can remotely upload their project implementations, and which will automatically check those implementations against tests uploaded previously by the instructor. Automated testing is a staple of the industry, and it seems logical to extend this practice to academia. However, in a recent informal survey of 200 computer science faculty and students, only 25% reported using a submission system tailored specifically to computer science project, and of those less than 50% used systems that automatically tested student code. Many respondents complained in the survey of the time it takes to assess student projects, so while it seems that this is an area ready for automation, there is clearly some barrier to adoption that is preventing its widespread use. While not explicitly addressed in the survey, one concern with such automated submission systems is that they need to execute student code, which is very likely buggy and potentially even malicious. To address that concern, in this paper we investigate the security solutions applicable to automated submission systems, and survey the current practices in some notable examples of such systems. Many of these systems are are designed primarily to be used within the confines of an institution, where their users are easily auditable and the possibility of administrative reprisal presents a high cost for malicious behavior. However, the trend is strongly moving in the direction of opening these systems to the wider, anonymous Internet, where nearly anyone can access the systems and upload arbitrary code. In that case, these security concerns become paramount, because openly-accessible Web applications have a much harder time auditing their users, and they have little recourse in the case of bad actors. Every automated testing system reviewed for this paper uses a Web application as a significant part of their interface, meaning that each needs to handle the usual Web security concerns of cross-site scripting and request forgery, distributed denial of service attacks, code injection, etc. Techniques for protecting 1Results available at http://marmoset.cs.umd.edu/surveys/SurveySummary_05072012.pdf

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Automated Student Code Assessment with Symbolic Execution and Java Pathfinder

Automated Student Code Assessment with Symbolic Execution and Java PathFinder

متن کامل

Secure Multi-execution in Haskell

Language-based information-flow security has emerged as a promising technology to guarantee confidentiality in on-line systems, where enforcement mechanisms are typically presented as run-time monitors, code transformations, or type-systems. Recently, an alternative technique, called secure multiexecution, has been proposed. The main idea behind this novel approach consists on running a program...

متن کامل

An efficient secure channel coding scheme based on polar codes

In this paper, we propose a new framework for joint encryption encoding scheme based on polar codes, namely efficient and secure joint secret key encryption channel coding scheme. The issue of using new coding structure, i.e. polar codes in Rao-Nam (RN) like schemes is addressed. Cryptanalysis methods show that the proposed scheme has an acceptable level of security with a relatively smaller ke...

متن کامل

Mapping of McGraw Cycle to RUP Methodology for Secure Software Developing

Designing a secure software is one of the major phases in developing a robust software. The McGraw life cycle, as one of the well-known software security development approaches, implements different touch points as a collection of software security practices. Each touch point includes explicit instructions for applying security in terms of design, coding, measurement, and maintenance of softwar...

متن کامل

Provably secure and efficient identity-based key agreement protocol for independent PKGs using ECC

Key agreement protocols are essential for secure communications in open and distributed environments. Recently, identity-based key agreement protocols have been increasingly researched because of the simplicity of public key management. The basic idea behind an identity-based cryptosystem is that a public key is the identity (an arbitrary string) of a user, and the corresponding private key is ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012